package com.whj.wkpt.entity;

import java.time.LocalDateTime;

public class TaskApplication {
    private Long applicationId;
    private Long taskId;
    private Long freelancerId;
    private LocalDateTime applyTime;
    private LocalDateTime deliveryTime;
    private String deliveryStatus; // not_delivered: 未交付, delivered: 已交付, confirmed: 已确认
    private LocalDateTime createTime;
    private LocalDateTime updateTime;

    // Constructors
    public TaskApplication() {}

    public TaskApplication(Long taskId, Long freelancerId, String deliveryStatus) {
        this.taskId = taskId;
        this.freelancerId = freelancerId;
        this.deliveryStatus = deliveryStatus;
    }

    // Getters and Setters
    public Long getApplicationId() {
        return applicationId;
    }

    public void setApplicationId(Long applicationId) {
        this.applicationId = applicationId;
    }

    public Long getTaskId() {
        return taskId;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public Long getFreelancerId() {
        return freelancerId;
    }

    public void setFreelancerId(Long freelancerId) {
        this.freelancerId = freelancerId;
    }

    public LocalDateTime getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(LocalDateTime applyTime) {
        this.applyTime = applyTime;
    }

    public LocalDateTime getDeliveryTime() {
        return deliveryTime;
    }

    public void setDeliveryTime(LocalDateTime deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public String getDeliveryStatus() {
        return deliveryStatus;
    }

    public void setDeliveryStatus(String deliveryStatus) {
        this.deliveryStatus = deliveryStatus;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "TaskApplication{" +
                "applicationId=" + applicationId +
                ", taskId=" + taskId +
                ", freelancerId=" + freelancerId +
                ", deliveryStatus='" + deliveryStatus + '\'' +
                '}';
    }
}